﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CommonTypes.MedicoTableAdapters;
using CommonTypes;

namespace SI2_TrabalhoFinal {
    public partial class MedicoListar : MasterForm {
        public MedicoListar() {
            InitializeComponent();
        }

        protected void MedicoListar_Load(object sender, EventArgs e) {
            this.Refresh();
        }

        protected void btnEditar_Click(object sender, EventArgs e) {
            Medico.PessoaRow pessoa = GetSelectedPessoa();
            Medico.MedicoRow Medico = GetSelectedMedico();

            MedicoEdit form = new MedicoEdit(this.MdiParent, this, pessoa, Medico);
            form.Show();
        }
        protected Medico.MedicoRow GetSelectedMedico() {
            return (Medico.MedicoRow)((DataRowView)dataGridView1.CurrentRow.DataBoundItem).Row;
        }

        protected Medico.PessoaRow GetSelectedPessoa() {
            Medico.MedicoRow row = GetSelectedMedico();

            PessoaTableAdapter adapter = new PessoaTableAdapter();
            Medico.PessoaDataTable pessoaTable = adapter.GetData(row.NumeroSS);

            return (Medico.PessoaRow)pessoaTable.Rows[0];
        }

        protected void btnInserir_Click(object sender, EventArgs e) {
            MedicoEdit form = new MedicoEdit(this.MdiParent, this);
            form.Show();
        }

        protected void btnContactos_Click(object sender, EventArgs e) {
            Contactos form = new Contactos(this.MdiParent);
            form.Text += " Medico";
            Medico.PessoaRow pessoa = GetSelectedPessoa();
            form.Nif = pessoa.Nif;
            form.Nome = pessoa.Nome;
            form.Apelido = pessoa.UltimoNome;
            form.NumSegSocial = pessoa.NumeroSS;

            form.Show();
        }

        public override void Refresh() {
            MedicoTableAdapter adapter = new MedicoTableAdapter();
            Medico.MedicoDataTable dt = adapter.GetData();

            dataGridView1.DataSource = dt;
            
            dataGridView1.Columns["IdNacionalidade"].Visible = false;
        }

        private void btnEliminar_Click(object sender, EventArgs e) {

        }

        
        private void btnEspecialidade_Click(object sender, EventArgs e) {
            Medico.MedicoRow row = GetSelectedMedico();
            EspecialidadeMedico frm = new EspecialidadeMedico();
            frm.LicencaMedica = row.LicencaMedica;
            frm.NomeMedico = row.Nome;
            frm.MdiParent = this.MdiParent;
            frm.Show();
        }
    }
}
